Highly available processors are required in system-critical applications; that is, applications such as telephone switching offices, air traffic control, nuclear power plants and the like, where system outages cause significant problems. Many types of highly available processing systems have been proposed or are currently in use in such applications. These systems include active-standby (or active-active) pairing, N+K sparing, and N module redundant (NMR) processors operating in synchronization (that is, all processors are operating on the same instruction at the same time). Such systems, however, all have well known drawbacks.
Primarily, all of these systems require proprietary hardware and/or software. Such proprietary hardware and software make these systems far more expensive than using industry standard hardware and software. Further, such proprietary hardware and software lock the user into a specific manufacturer's hardware and/or software and the user is then at the mercy of the manufacturer to keep the technology up to date. Many of these systems are also known to not meet claims of availability, because such systems have to generally be brought down (that is, turned off) for fixes and systems updates.
Therefore, a problem in the art is that there is no simple and reliable system for providing highly available processors using industry standard hardware and software.